﻿// owner 蒋家伟

#pragma once
#include "IApplication.h"
#include <QApplication>


namespace jsdk
{
    class Application : public IApplication
    {
    public:
        static IApplication* create(int &argc, char **argv);
        static IApplication* get();
        static bool isRunning();
        static const ApplicationStatus& getApplicationStatus();

    private:
        virtual int start() const;
        virtual void exit();
        virtual std::vector<std::string> getCmdParameter() const override;

        Application(int & argc, char ** argv);
        ~Application();

    private:
        QApplication m_application;
    };
}
